#include "physical_properties.h"

//Clasic
vector<mol_sys>velocitiesOFeach(Parameter_Nsteps);									//store velocities of each atom at every moment
vector<double> acf_velocities(Parameter_Nsteps);										//store each value of auto-correlation-function
vector<double> temperatureVec(Parameter_Nwrite_physical_properties, 0);
vector<double> pressureVec(Parameter_Nwrite_physical_properties, 0);
vector<double> EkVec(Parameter_Nwrite_physical_properties, 0);
vector<double> EpVec(Parameter_Nwrite_physical_properties, 0);
vector<double> EtotalVec(Parameter_Nwrite_physical_properties, 0);
vector<double> timeVec(Parameter_Nwrite_physical_properties, 0);
vector<double> rdf(Parameter_Ngrid_rdf, 0);

//PIMD_Staging_Transform
vector< vector<Atom> >mirror(Parameter_nbeads, vector<Atom>(Parameter_Natoms));
vector< vector<Atom> >staging_mirror(Parameter_nbeads, vector<Atom>(Parameter_Natoms));
vector< vector<mol_sys>> velocitiesOFeach_PIMD(Parameter_nbeads, vector<mol_sys>(Parameter_Nsteps));
vector<double> Hamiltonian_staging(Parameter_Nwrite_physical_properties, 0);
vector< vector<double> > temperaturePIMD_staging(Parameter_nbeads, vector<double>(Parameter_Nwrite_physical_properties, 0));
vector<double> EkPIMD_staging(Parameter_Nsteps);
vector<double> EpPIMD_staging(Parameter_Nsteps);
vector<double> EsprPIMD_staging(Parameter_Nsteps);
vector<double> EtotalPIMD_staging(Parameter_Nsteps);


//PIMD_Primitive
vector<double> Hamiltonian_primitive(Parameter_Nwrite_physical_properties, 0);
vector< vector<double> > temperaturePIMD_primitive(Parameter_nbeads, vector<double>(Parameter_Nwrite_physical_properties, 0));
vector< vector<double> > EkPIMD_primitive(Parameter_nbeads, vector<double>(Parameter_Nwrite_physical_properties, 0));
vector< vector<double> > EpPIMD_primitive(Parameter_nbeads, vector<double>(Parameter_Nwrite_physical_properties, 0));
vector< vector<double> > EtotalPIMD_primitive(Parameter_nbeads, vector<double>(Parameter_Nwrite_physical_properties, 0));


vector<double> velocities_PIMD(Parameter_Nwrite_physical_properties, 0);
vector<double> forces_PIMD(Parameter_Nwrite_physical_properties, 0);
vector< vector<double> > coord_PIMD(Parameter_Nwrite_physical_properties, vector<double>(3, 0));
vector<double> velocities_Classic(Parameter_Nwrite_physical_properties, 0);
vector<double> forces_Classic(Parameter_Nwrite_physical_properties, 0);
vector< vector<double> > coord_Classic(Parameter_Nwrite_physical_properties, vector<double>(3, 0));

void test() {
	cout << Parameter_Nwrite_physical_properties << endl;
	cout << velocities_Classic.size() << endl;
	cout << temperatureVec.size() << endl;
	cout << velocitiesOFeach.size() << endl;
}
